System for detecting a touch gesture of a user, device comprising the system, and method

ABSTRACT

System for detecting a touch gesture of a user on a detection surface, comprising: a processing unit; and an accelerometer to detect a vibration at the detection surface and generate a vibration signal. The processing unit is configured to: acquire the vibration signal, detect, in the vibration signal, a signal characteristic which can be correlated to the touch gesture of the user, detect, in the vibration signal, a stationarity condition preceding and/or following the detected signal characteristic, and validate the touch gesture in the event that both the signal characteristic and the stationarity condition have been detected. An electrostatic charge sensor may also be used as a further parameter to validate the touch gesture.

BACKGROUND Technical Field

The present disclosure relates to a system for detecting a touch gesture of a user, a device comprising the detection system, and a method for detecting a touch gesture of a user.

Description of the Related Art

Nowadays, one of the most important causes of malfunction of mobile devices, in particular cell phones, relates to mechanical buttons, which are subject to breakage due to structural weakness, use of fragile flexible PCBs, problems of water resistance, etc.

The solutions to mechanical buttons provide buttons based on capacitive sensors, particularly suitable for implementation on full-screen devices; however they are not always reliable as they are subject to disturbances resulting from the presence of environmental electrical charge.

BRIEF SUMMARY

According to the present disclosure, a system for detecting a touch gesture of a user, a device comprising the detection system, and a method for detecting a touch gesture of a user are provided.

In an embodiment, the system for detecting a touch gesture of a user on a detection surface comprises:

-   -   a processing unit;     -   an accelerometer, operatively coupled to the processing unit,         configured to detect a vibration at said detection surface and         generate a corresponding vibration signal, wherein the         processing unit is configured to: acquire the vibration signal,         detect, in the vibration signal, a signal characteristic which         can be correlated to said touch gesture of the user, detect, in         the vibration signal, a stationarity condition preceding and/or         following said detected signal characteristic, and validate said         touch gesture by the user in the event that both the signal         characteristic and the stationarity condition preceding and/or         following said signal characteristic have been detected.

Furthermore, in an embodiment, the operation of detecting said signal characteristic comprises: calculating a filtered vibration signal by filtering, through a high-pass filter, the vibration signal; detecting a first peak of the filtered vibration signal exceeding a first threshold; and detecting a second peak of the filtered vibration signal exceeding a second threshold, wherein the first threshold is one of a positive threshold and a negative threshold, and the second threshold is the other of said positive threshold and said negative threshold.

Furthermore, in an embodiment, the processing unit is further configured to sample the vibration signal, and the operation of calculating the filtered vibration signal is carried out using a digital filter, said operation of detecting the first peak comprising: detecting a first sample of the filtered vibration signal which exceeds the first threshold; detecting a second sample of the filtered vibration signal immediately preceding the first sample and having a value, in modulus, which is lower than the value, in modulus, of the first sample; and detecting a third sample of the filtered vibration signal immediately following the first sample and having a value, in modulus, which is lower than the value, in modulus, of the first sample, said first peak corresponding to the first sample.

Furthermore, in an embodiment, said operation of detecting the second peak comprises: detecting a fourth sample of the filtered vibration signal which exceeds the second threshold; detecting a fifth sample of the filtered vibration signal immediately preceding the fourth sample and having a value, in modulus, which is lower than the value, in modulus, of the fourth sample; and detecting a sixth sample of the filtered vibration signal immediately following the fourth sample and having a value, in modulus, which is lower than the value, in modulus, of the fourth sample, said second peak corresponding to the fourth sample.

Furthermore, in an embodiment, the operation of detecting said signal characteristic further comprises verifying that the first peak and the second peak are at a mutual distance, in terms of number of samples comprised between the first peak and the second peak, which is lower than a maximum value of number of samples.

Furthermore, in an embodiment, the operation of detecting, in the vibration signal, a stationarity condition preceding said signal characteristic comprises: after detecting the first peak, verifying that the values of a first plurality of samples of the filtered vibration signal preceding the first peak are comprised in a first range of reference values.

Furthermore, in an embodiment, the operation of detecting, in the vibration signal, a stationarity condition following said signal characteristic comprises: after detecting the second peak, verifying that the values of a second plurality of samples of the filtered vibration signal following the second peak are comprised in a second range of reference values.

Furthermore, in an embodiment, the operation of detecting, in the vibration signal, a stationarity condition following said signal characteristic further comprises discarding a third plurality of samples of the filtered vibration signal immediately following the second peak and comprised between the second peak and said second plurality of samples of the filtered vibration signal.

Furthermore, in an embodiment, the system further comprises an electrostatic charge variation sensor, operatively coupled to the processing unit, configured to detect an electrostatic charge variation at said detection surface and, as a result, generate a charge variation signal.

Furthermore, in an embodiment, the processing unit is further configured to generate a variance signal by calculating the variance of the charge variation signal.

Furthermore, in an embodiment, the processing unit is further configured to detect a maximum point of the variance signal when said signal characteristic which can be correlated to said touch gesture of the user is detected in the vibration signal.

Furthermore, in an embodiment, the processing unit is further configured to: verify whether the maximum point of the variance signal is in a predefined relationship with a third threshold, and in the event that both the signal characteristic and the stationarity condition preceding and/or following said signal characteristic have been detected, validate said touch gesture only if the maximum point of the variance signal meets said predefined relationship with the third threshold.

Furthermore, in an embodiment, the processing unit is further configured to: in the event that both the signal characteristic and the stationarity condition preceding and/or following said signal characteristic have been detected, and if the maximum point of the variance signal meets said predefined relationship with the third threshold, verify whether the variance signal is in a stationarity condition and validate said touch gesture only if the variance signal meets said stationarity condition.

Furthermore, in an embodiment, the stationarity condition of the variance signal is met if at least one current sample of the variance signal has a value comprised within a range of stationarity reference values.

Furthermore, an embodiment provides the step of detecting a touch event that persists over time if the variance signal remains above a fourth threshold for a time which is longer than a predefined touch time.

The present disclosure also relates to a method for detecting a touch gesture of a user on a detection surface, using a system which comprises: a processing unit; and an accelerometer, operatively coupled to the processing unit, configured to detect a vibration at said detection surface and generate a corresponding vibration signal, the method comprising the steps, carried out by the processing unit, of: acquiring the vibration signal, detecting, in the vibration signal, a signal characteristic which can be correlated to said touch gesture of the user, detecting, in the vibration signal, a stationarity condition preceding and/or following said detected signal characteristic, and validating said touch gesture by the user in the event that both the signal characteristic and the stationarity condition preceding and/or following said signal characteristic have been detected.

Furthermore, in an embodiment, the step of detecting said signal characteristic comprises: calculating a filtered vibration signal by filtering, through a high-pass filter, the vibration signal; detecting a first peak of the filtered vibration signal exceeding a first threshold; and detecting a second peak of the filtered vibration signal exceeding a second threshold, wherein the first threshold is one of a positive threshold and a negative threshold, and the second threshold is the other of said positive threshold and said negative threshold.

Furthermore, in an embodiment, the method comprises the step of sampling the vibration signal, and wherein the step of calculating the filtered vibration signal is carried out using a digital filter, said step of detecting the first peak comprising: detecting a first sample of the filtered vibration signal that exceeds the first threshold; detecting a second sample of the filtered vibration signal immediately preceding the first sample and having a value, in modulus, which is lower than the value, in modulus, of the first sample; and detecting a third sample of the filtered vibration signal immediately following the first sample and having a value, in modulus, which is lower than the value, in modulus, of the first sample, said first peak being chosen corresponding to the first sample.

Furthermore, in an embodiment, the step of detecting the second peak comprises: detecting a fourth sample of the filtered vibration signal that exceeds the second threshold; detecting a fifth sample of the filtered vibration signal immediately preceding the fourth sample and having a value, in modulus, which is lower than the value, in modulus, of the fourth sample; and detecting a sixth sample of the filtered vibration signal immediately following the fourth sample and having a value, in modulus, which is lower than the value, in modulus, of the fourth sample, said second peak being chosen corresponding to the fourth sample.

Furthermore, in an embodiment, the step of detecting said signal characteristic further comprises verifying that the first peak and the second peak are at a mutual distance, in terms of number of samples comprised between the first peak and the second peak, which is lower than a maximum value of number of samples.

Furthermore, in an embodiment, the step of detecting, in the vibration signal, a stationarity condition preceding said signal characteristic comprises: after detecting the first peak, verifying that the values of a first plurality of samples of the filtered vibration signal preceding the first peak are comprised in a first range of reference values.

Furthermore, in an embodiment, the step of detecting, in the vibration signal, a stationarity condition following said signal characteristic comprises: after detecting the second peak, verifying that the values of a second plurality of samples of the filtered vibration signal following the second peak (p2) are comprised in a second range of reference values.

Furthermore, in an embodiment, the step of detecting, in the vibration signal, a stationarity condition following said signal characteristic further comprises discarding a third plurality of samples of the filtered vibration signal immediately following the second peak and comprised between the second peak and said second plurality of samples of the filtered vibration signal.

Furthermore, in an embodiment, wherein said system further comprises an electrostatic charge variation sensor, operatively coupled to the processing unit, the method further comprising the steps of detecting, through the electrostatic charge variation sensor, an electrostatic charge variation at said detection surface and generating as a result, through the electrostatic charge variation sensor, a charge variation signal.

Furthermore, in an embodiment, the method further comprises the step of generating a variance signal by calculating the variance of the charge variation signal.

Furthermore, in an embodiment, the method further comprises the step of detecting a maximum point of the variance signal when said signal characteristic which can be correlated to said touch gesture of the user is detected in the vibration signal.

Furthermore, in an embodiment, the method further comprises: verifying whether the maximum point of the signal of (S_(Q_var)) is in a predefined relationship with a third threshold, and in the event that both the signal characteristic and the stationarity condition preceding and/or following said signal characteristic have been detected, validating said touch gesture only if the maximum point of the variance signal meets said predefined relationship with the third threshold.

Furthermore, in an embodiment, the method further comprises: in the event that both the signal characteristic and the stationarity condition preceding and/or following said signal characteristic have been detected, and if the maximum point of the variance signal meets said predefined relationship with the third threshold, verifying whether the variance signal is in a stationarity condition and validating said touch gesture only if the variance signal meets said stationarity condition.

Furthermore, in an embodiment, the stationarity condition of the variance signal is met if at least one current sample of the variance signal has a value comprised within a range of stationarity reference values.

Furthermore, in an embodiment, the method further comprises the step of detecting a touch event that persists over time if the variance signal remains above a fourth threshold for a time which is longer than a predefined touch time.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

For a better understanding of the disclosure, embodiments thereof are now described, purely by way of non-limiting example and with reference to the attached drawings, wherein:

FIG. 1A illustrates a vibrational signal generated by an accelerometer following a movement;

FIG. 1B illustrates the signal of FIG. 1 a after a filtering step with a high-pass filter, according to the prior art;

FIG. 2 illustrates a further signal generated by an accelerometer, filtered with the filter described with reference to FIG. 1B, wherein a touch event by a user is identified on the basis of the exceedance of predefined thresholds, according to the prior art;

FIG. 3 schematically illustrates an electronic or electromechanical system or chip or package, according to an aspect of the present disclosure;

FIG. 4 illustrates a method for detecting a touch gesture exploiting a vibratory signal of an accelerometer, according to an aspect of the present disclosure;

FIGS. 5-7 graphically illustrate respective steps of the method of FIG. 4 ;

FIG. 8 illustrates the electronic or electromechanical system or chip or package of FIG. 3 further comprising an electrostatic charge sensor, according to a further aspect of the present disclosure;

FIG. 9 illustrates an embodiment of an electrostatic charge sensor, which can be used in the system of FIG. 8 ;

FIG. 10 illustrates a method for detecting a touch gesture exploiting a vibratory signal of an accelerometer and an electrostatic charge variation signal of the sensor of FIG. 9 , according to an aspect of the present disclosure;

FIGS. 11 and 12 graphically illustrate respective steps of the method of FIG. 10 ;

FIG. 13 graphically illustrates an electrostatic charge variation signal generated by a touch prolonged over time of a detection electrode of the electrostatic charge sensor of FIG. 9 ; and

FIG. 14 illustrates an electronic device including the electronic or electromechanical system or chip or package of FIG. 3 or FIG. 8 .

DETAILED DESCRIPTION

MEMS accelerometers are used to implement electronic buttons, as they are suitable for detecting movements resulted from the touch, or “tap,” (or double tap) of the user, exploiting suitable algorithms that detect and process the acceleration data provided by these MEMS accelerometers. Even this solution, however, is subject to environmental or use conditions that may cause a false touch detection (for example due to accelerations resulting from movements of the user's body which are similar to a touch even if they are not such).

In some devices that do not suffer from battery consumption in stand-by (for example because they have a large battery), it is possible to use the touch-screen technology to detect the touch gesture. This type of solution ensures high accuracy, but the implementation cost is high and, as said, requires a non-negligible energy consumption.

In an embodiment known to the Applicant, the touch gesture is identified by processing and monitoring an acceleration signal or vibratory signal, provided by an accelerometer following a touch gesture, filtered through a high-pass filter. The high-pass filter is, in particular, configured to filter the low frequency signal components (e.g., acceleration due to gravity, movements attributable to human activity) and leave the high frequency signal components, including the signal components attributable to touch, unaltered. By way of non-limiting example, the high frequency components of interest for the present disclosure are higher than 50 Hz.

The filtering is, in particular, obtained through a digital “Slope” filter. Therefore, with reference to FIGS. 1A and 1B, the raw signal provided by the accelerometer (in FIG. 1A, the signal S_(acc_raw)) is sampled (i.e., converted into digital); again in FIG. 1A, the n-th sample at time t_(n) is identified as acc(t_(n)) and the sample immediately preceding time t_(n-1) is identified as acc(t_(n-1)).

FIG. 1B illustrates the signal of FIG. 1A filtered through the Slope filter (filtered signal S_(acc_filt)). The n-th filtered sample is obtained according to the following formula: acc_filt(t _(n))=[acc(t _(n))−acc(t _(n-1))]/2

By setting a suitable threshold on the filtered signal, it is possible to identify possible touch events at the local exceedance of this threshold, by at least one sample of the filtered signal. The threshold may be of a fixed type (preset and/or configurable) or of adaptive type.

FIG. 2 shows, by way of example, a further accelerometric signal, filtered with the Slope filter according to what has been described with reference to FIG. 1B. FIG. 2 also shows two thresholds (one positive +Th and one negative −Th). In FIG. 2 , the exceedance of the threshold +Th occurs by two samples acc_filt(t₁) and acc_filt(t₁₁) in two respective time instants t₁ and t₁₁ and causes the generation of an interrupt event that identifies the occurred touch at the times t₂ and t₁₂ since the signal returns within the range defined by the thresholds −Th and +Th by a predefined time.

This technical solution has the advantage of requiring low energy consumption and low cost; furthermore, it allows to obtain high accuracy in the identification of any touch event, but at the same time generates a significant number of false positives, for example in cases wherein the accelerometer detects vibrations resulting from an unwanted touch in proximity to the device (for example on the strap of a smartwatch, and in other similar situations).

The problems mentioned hereinabove are overcome by the solutions that provide the use of a touch sensor, which however, as said, has a high cost and significant energy consumption. Furthermore, the touch sensor technology is not applicable to any device (for example to earphones) due to the size and/or current consumption required for implementing a touch sensor.

The need is therefore felt to overcome the drawbacks of the prior art by providing a system for detecting a touch gesture of a user, a device comprising the detection system, and a method for detecting a touch gesture of a user which are enhanced.

FIG. 3 illustrates, with the reference number 1, an electronic or electromechanical system or chip or package, according to an aspect of the present disclosure. Hereinafter, this system or chip or package 1 will be referred to as “electronic system” without thereby losing generality. The electronic system 1 comprises, e.g., integrates or accommodates in a case, a processing unit 2 and an MEMS motion sensor, e.g., an accelerometer 4, which is operatively coupled to the processing unit 2.

The accelerometer 4 is configured to detect at least one acceleration component along an acceleration axis orthogonal to a detection surface (see for example, in FIG. 14 , the surface 102). The detection surface is a surface at which a user causes a vibration by touching this surface with, for example, his/her finger (touch event or touch). For example, the accelerometer 4 is of triaxial type, configured to detect acceleration components along three axes X, Y, Z orthogonal to each other; for detecting the touch, it is possible to choose the Z axis as the only detection axis, or otherwise choose any combination of two or more axes, possibly attributing a greater weight to one of them.

It is noted that the electronic system 1 (and therefore the accelerometer 4) may be installed or used with any orientation with respect to the Earth's gravitational axis, and therefore the accelerometer 4 may be oriented in such a way as not to have the vertical detection axis (Z axis) necessarily in the direction of the force of gravity. Therefore, the detection axis of the force impressed by the touch may be chosen orthogonal to the sensor itself or along the assumed direction of the touch (on the basis of the modes in which the electronic system 1 is installed or operates or is expected to operate); this also allows any unwanted impulses, which would come from other directions, to be filtered out.

As an alternative or addition to the above, it is also possible, in a further embodiment, to consider a suitable vector composition of the three detection axes of the accelerometer 4, to maximize the signal in the direction of the impressed force.

The processing unit 2 receives an acceleration signal, or vibration signal, S_(acc_raw) (raw signal) from the accelerometer 4 and generates, according to the acceleration signal S_(acc_raw), a touch detection signal I_(S) (e.g., an interrupt signal) by a user.

The accelerometer 4 is for example an integrated sensor of semiconductor material, made using MEMS technology, of a per se known type and thereby not described in detail.

The processing unit 2 is for example a microcontroller or an MLC (Machine Learning Core) residing in the ASIC (Application Specific Integrated Circuit) integrated in the MEMS, or a microprocessor of other type.

The electronic system 1 may be a stand-alone system or be part, for example, of a printed circuit, or even be part of a more complex device or system. In fact, it is possible to provide a device or system that integrates a combo of sensors, and therefore in addition to the three axes X, Y, Z of the accelerometer 4, there may also exist dedicated channels for other detections (e.g., gyroscope, temperature sensor, etc.).

FIG. 4 illustrates, through a flow chart, steps of a method for detecting the touch implemented by the electronic system 1, in particular by the processing unit 2, according to an aspect of the present disclosure.

With reference to step 40, the processing unit 2 receives and acquires, from the accelerometer 4, the raw signal S_(acc_raw) generated by the accelerometer 4, for example the signal S_(acc_raw) of FIG. 1A. Then, step 42, the processing unit 2 carries out an operation of filtering the raw signal S_(acc_raw) through a high-pass filter; in particular, the filtering operation is carried out through the Slope filter described with reference to FIG. 1B, obtaining the filtered signal S_(acc_filt). The filtered signal S_(acc_filt) is for example the signal of FIG. 1B, or FIG. 2 , or FIG. 5 (or FIG. 6 , or FIG. 7 wherein filtered signals resulting from events other than the touch event are illustrated).

Then, step 44, a detection of a first peak p1 (positive or negative) is carried out in the filtered signal and, subsequently, a detection of a second peak p2 which is an inverted peak (negative or positive, respectively) is carried out. In this regard see FIG. 5 , wherein the peak p1 corresponds to a sample of the filtered signal S_(acc_filt) that exceeds the negative threshold −Th, and therefore is hereinafter referred to as the “negative peak”, whereas the peak p2, following p1, corresponds to a sample of the filtered signal S_(acc_filt) that exceeds the positive threshold +Th, and therefore is hereinafter referred to as the “positive peak”.

In an embodiment of the present disclosure, the negative peak p1 is identified as a sample that exceeds the threshold −Th and which is immediately preceded and followed by respective samples p1′ and p1″ which have a value, in modulus, which is lower than the value, in modulus, of the negative peak p1. Similarly, the positive peak p2 is identified as a sample that exceeds the threshold +Th and which is immediately preceded and followed by respective samples p2′ and p2″ which have a value, in modulus, which is lower than the value, in modulus, of the positive peak p2. It is noted that, in this example, the samples p1″ and p2′ coincide.

It is apparent that the conditions expressed hereinabove may be modified, for example by requiring a plurality of samples that precede and/or follow the positive p2 or negative peak p1 and having respective values which are lower in modulus than the value reached by the peak p1 or p2.

In an embodiment, the number of samples between the negative peak p1 and the positive peak p2 (in the example of FIG. 5 , there is only one sample p1″/p2′) is lower than a predefined maximum number, to better discriminate a “touch” event from an event of other type. For example, this number of samples is equal to 2 (sampling the raw signal S_(acc_raw) at 400 Hz) or to multiples of 2 (sampling the raw signal S_(acc_raw) at multiples of 400 Hz). Other values may be chosen as needed.

Returning to FIG. 4 , a stationarity condition of the filtered signal S_(acc_filt) preceding the first peak p1 is detected in step 46. In particular, this step aims to detect whether the first peak detected is caused by an actual touch event or is caused by a more complex “shock” event, such as for example a shaking situation of the electronic system 1 that accommodates the accelerometer 4. In fact, in the case of shaking, there is a continuous perturbation of the signal of the accelerometer 4, which may also result in the generation of one or more peaks that exceed the preset thresholds ±Th, such as for example illustrated in FIG. 6 .

Step 46 is described herein with graphic reference to FIG. 6 , for improved clarity. In FIG. 6 the same notation of FIG. 5 is used to identify the first peak (p1) and the inverted peak (p2) that exceed the preset thresholds ±Th. To discriminate between touch events and events of other type, such as for example shaking, according to an aspect of the present disclosure, a history buffer is used wherein a plurality of samples p_pre (temporally) preceding the first peak p1 are stored. In particular, this plurality of samples is a number equal to or greater than 8 (for example, 16 or 32), and includes the sample p1′ and the other samples immediately preceding the sample p1′. When the first peak p1 is detected (according to what has been previously discussed), the history buffer is analyzed, according to step 46, to verify a stationarity condition of the samples stored therein. In particular, the stationarity condition is verified if all the samples stored in the history buffer, or a subset thereof, are comprised between a positive threshold +Th′ and a negative threshold −Th′ (with |+Th′|<|+Th| and |−Th′|<|−Th|). For example, the value in modulus of the thresholds ±Th′ is comprised between 0.0625 g and 2 g.

In an embodiment, the stationarity condition is assessed on the samples present in the history buffer except for a subset of samples immediately preceding the first peak p1 (for example the 2 samples immediately preceding the first peak p1). The Applicant has in fact verified that the signal relating to the touch includes the samples immediately preceding the peak.

In step 48 the second peak p2 (inverted peak) is sought and, if any, detected, according to what has already been previously discussed.

In step 50 a stationarity condition of the filtered signal S_(acc_filt) following the second peak p2 is detected. In particular, this step aims to detect whether the second peak p2 detected is caused by an actual touch event or is caused by a more complex “shock” event, such as for example a clapping situation, which persists for a certain period of time, and which causes the generation of an accelerometric signal wherein a series of positive and negative above-threshold peaks (similar to the sequence of the first peak p1 and the second peak p2) are followed by a plurality of further peaks or a high noise signal, as for example illustrated in FIG. 7 (wherein the same notation of FIG. 5 is used to identify the first peak p1 and the inverted peak p2).

Therefore, in order to identify this situation, as said generated for example by clapping hands, according to an aspect of the present disclosure, a plurality of samples following the second peak p2 are analyzed.

In particular, this plurality of samples is a number equal to or greater than 8 (for example, 16 or 32), and includes the sample p2″ and other samples immediately following the sample p2.″ In particular, the stationarity condition is verified if all the samples immediately following the second peak p2, or a subset thereof, are comprised between a positive threshold +Th″ and a negative threshold −Th″ (with |+Th″|<|+Th| and |−Th″|<|−Th|). For example, the value in modulus of the thresholds ±Th″ is comprised between 0.0625 g and 2 g.

In an embodiment, the stationarity condition is assessed on a plurality of samples p_post following the second peak p2 except for a subset of samples p_excl immediately following the second peak p2 (e.g., excluding the 6-8 samples immediately following the second peak p2). In fact, the Applicant has verified that in some practical conditions, in the event of a signal resulting from a “touch” (therefore the event to be detected), after the second peak p2 a step is observed wherein the oscillation of the signal of the accelerometer 4 persists for a limited time, similarly to a “rebound” effect. In this manner, the stationarity condition is assessed by excluding this settling step following the second peak p2.

The method described with reference to FIG. 4 may be modified as needed. In particular, the first peak may indifferently be a negative or positive peak and, as a result, the second peak (inverted peak) is a positive or negative peak respectively. Furthermore, the stationarity verifications of steps 46 and 50 may be carried out both or one as an alternative to the other. For example, it is possible to provide for carrying out only the stationarity verification of step 46 and not the stationarity verification of step 50, or vice versa.

Furthermore, the method of FIG. 4 may also be used to identify a multiple touch event (e.g., double or triple touch), verifying the presence of a plurality of consecutive touch events in a predefined (and possibly configurable) period of time. To this end, it is possible to use a timer or counter usable to, after the occurrence of a touch event, count the number of samples that are present before the following touch event. If this number of samples is comprised in a predefined range (or lower than a maximum value) then the second touch event is correlated with the first touch event to validate the multiple touch event.

In an embodiment of the present disclosure, illustrated in FIG. 8 , the electronic system 1 comprises (e.g., integrates or accommodates in the case), in addition to the elements illustrated in FIG. 1 and previously described, also an electrostatic charge variation sensor 6 operatively coupled to the processing unit 2.

FIG. 9 illustrates, by way of non-limiting example, an embodiment of the electrostatic charge variation sensor 6. The electrostatic charge variation sensor 6 comprises an input electrode 8, coupeable to a body portion of a user. In particular, the electrostatic charge variation sensor 6 of FIG. 9 is configured to be placed in electrical or electrostatic contact with a body portion of a user, for detecting the touch. Typically, the user uses his/her finger, and in particular his/her fingertip, to perform the touch.

The input electrode 8 forms part of a differential input 9 of an instrumentation amplifier 12.

An input capacitor C_(I), biased through a direct current (DC) generator G_(I) and an input resistor R_(I) connected in parallel with each other and with the input capacitor C_(I) are at the ends of the differential input 9. In use, the voltage Vd across the input capacitor C_(I) remains constant until the user touches the electrode 8; in this case, the voltage across the input capacitor C_(I) varies due to the electric charge/discharge process through the user's body. In presence of a touch event and consequently after a transient (the duration thereof being defined by the constant RC of the parallel between capacitor C_(I) and resistor R_(I)) the voltage Vd returns to its steady state value.

The instrumentation amplifier 12 is essentially formed by two operational amplifiers OP1 and OP2. A biasing stage (buffer) OP3 is used to bias the instrumentation amplifier 12 to a common mode voltage V_(CM).

The inverting terminals of the operational amplifiers OP1 and OP2 are connected to each other through a resistor R₂. Since the two inputs of each operational amplifier OP1, OP2 are to be at the same potential, the input voltage Vd is also applied across R₂ and causes, through this resistor R₂, a current equal to I₂=Vd/R₂. This current I₂ does not come from the input terminals of the operational amplifiers OP1, OP2 and therefore flows through the two resistors R₁ connected between the outputs of the operational amplifiers OP1, OP2, in series with the resistor R₂; the current I₂, thus flowing through the series of the three resistors R₁-R₂-R₁, produces an output voltage Vd′ given by Vd′=I₂·(2R₁+R₂)=Vd·(1+2R₁/R₂). Therefore, the overall gain of the circuit of FIG. 9 is Ad=(1+2R₁/R₂). The differential gain depends on the value of the resistor R₂ and may therefore be modified by acting on the resistor R₂.

The components of the amplifier 12 are chosen in such a way that the amplifier 12 has high impedance (of the order of 10⁹ Ohm) in its passband (chosen between DC and 500 Hz).

The voltage Vd across the input capacitor C_(I) is detected by the amplifier 12.

The differential output Vd′ is therefore proportional to the potential Vd at input, and is provided at input to an analog-to-digital converter 14, which provides the charge variation signal S_(Q) for the processing unit 2 at output. The charge variation signal S_(Q) is, for example, a high-resolution digital stream (16 bits or 24 bits).

According to an embodiment, the analog-to-digital converter 14 is optional, since the processing unit 2 may be configured to work directly on the analog signal, or may itself comprise an analog-to-digital converter for converting the signal Vd′.

According to an embodiment, having an analog-to-digital converter (ADC) with suitable characteristics (e.g., differential input, high input impedance, high resolution, dynamic range optimized for the quantities to be measured, low noise) the amplifier stage 12 may be omitted, by feeding the signal directly to the input of the analog-to-digital converter.

FIG. 10 illustrates, through a flow chart, the operations carried out by the processing unit 2 to process the signal provided by the electrostatic charge variation sensor 6.

With reference to step 60, the processing unit 2 receives, from the electrostatic charge variation sensor 6, the charge variation signal S_(Q). The signal S_(Q) is, in the described embodiment, a digital signal. FIG. 11 exemplarily illustrates the signal S_(Q) generated following an event of contact between the input electrode 8 and the fingertip of a user (touch event). The values of the potential Vd, induced by the physical contact of the user with the input electrode 8, are represented on the ordinate axis of the charge variation signal S_(Q). This value is here expressed in LSB (“Least Significant Bit”), that is the minimum digital value output from the analog-to-digital converter, which is proportional to the voltage detected at the input electrode 8. Typically 1 LSB corresponds to a value comprised between a few μV and a few tens of μV. The constant of proportionality (or sensitivity) depends on the gain of the amplifier, on the resolution of the analog-to-digital converter and on any digital processing (e.g., oversampling, decimation, etc.). The LSB representation is common in the art and disregards a quantification in physical units, as the aim is typically to detect relative variations, with respect to a steady or base state. The progressive numbers of the acquired sample are represented on the abscissa axis of the charge variation signal S_(Q).

Then, step 62, the processing unit 2 performs an operation of calculating or estimating the variance of the signal S_(Q), obtaining the variance signal S_(Q_var). The calculation or estimation of the variance is carried out in a per se known manner, for example as described by Tony Finch in “Incremental calculation of weighted mean and variance,” University of Cambridge Computing Service, February 2009. Other methods may be used, such as for example, approaches based on IIR filters, or yet others.

FIG. 12 illustrates the variance signal S_(Q_var), and the filtered accelerometer signal S_(acc_filt), superimposed to each other. It is noted that FIG. 12 shows the square root of the signals S_(acc_filt) and S_(Q_var). The operation of calculating the square root of the variance value has the function of compressing the dynamics of the output signal, as well as of bringing it back to the initial physical dimension. In other words, the variance squares, the square root restores the physical dimensions. For example, if the physical dimension x of the input signal is [x]²; after the variance it is [(x²)]²; after the square root operation it returns to [x]².

Then, step 64, a step of searching for a maximum point of the signal S_(Q) is carried out. The maximum point corresponds, in this example wherein digital signals (samples) are used, to the sample whose value (on the ordinate axis) is the greatest with respect to a plurality of comparison samples. In particular, each sample is compared with the maximum value detected up to that instant and, if it is greater than the maximum value, the maximum value is updated to the value of the current sample. This operation is initiated (e.g., the maximum is reset to the current value) after the detection of a “shock” event by the accelerometer 4. The shock event considered is any event that causes the generation of a signal of the accelerometer 4 which, after having been filtered as previously described (e.g., high-pass filter or Slope filter), exceeds the threshold +Th (positive exceedance) or −Th (negative exceedance). The exceedance of the threshold ±Th is confirmed if at least one sample of the signal S_(acc_filt) exceeds the threshold ±Th.

In FIG. 12 , it is the sample #28 of the signal S_(acc_filt) that negatively exceeds the threshold −Th (first peak p1). This event triggers the search for the maximum of the signal S_(Q_var). At sample #28, the maximum value is reset to the current value of the signal S_(Q_var). Therefore, from the corresponding sample #28 (or from the subsequent, the sample #29) of the signal S_(Q_var), it is assessed whether this sample has a value (here, in LSB) which is greater than the maximum value calculated up to that instant. This operation continues until the detection of an actual touch signal, as described hereinafter in the following step 66. The maximum value assumed by the S_(Q_var) is saved in memory. In the example of FIG. 12 , the sample having the maximum value was found at the sample #36 of the signal S_(Q_var) (sample p_(MAX)).

Then, step 66, the confirmation of the occurred touch is awaited on the basis of the signal of the accelerometer 4 (e.g., the interrupt signal I_(S) previously mentioned). In FIG. 12 , this signal is generated at sample #90.The search for the maximum value of the signal S_(Q_var) discussed in step 64 is thus interrupted.

In this embodiment, the final decision of the occurred touch is taken, as well as a function of the signal of the accelerometer 4, also as a function of the signal acquired by the electrostatic charge variation sensor 6 and processed as previously discussed. In particular, upon receiving the interrupt signal I_(s), a current sample of the signal S_(Q_var) is acquired (for the purposes of the present disclosure, this current sample is exemplarily the one at which the interrupt was received). The value of the current sample is compared to a threshold Th_Q.

In an embodiment, if the value of the sample p_(max) of the signal S_(Q_var) is in a predefined relationship with this threshold (in particular, it exceeds the threshold Th_Q) the touch event is confirmed and one or more functionalities correlated to this touch event (not object of the present disclosure) are activated. The threshold Th_Q is preset to a value chosen during the design step and in any case changeable (e.g., comprised between 8000 and 12000 LSB); this value is chosen on the basis of the sensor and electrode used, through laboratory tests.

In a further embodiment, if the value of the sample p_(max) of the signal S_(Q_var) is in said predefined relationship with this threshold (in particular, it exceeds the threshold Th_Q), then a further comparison of the value of the current sample of the signal S_(Q_var) with a second threshold Th_Q′ chosen as a fraction of the maximum value of the previously identified signal S_(Q_var) (i.e., in this example, that found at the sample #36) is carried out. For example, the second threshold Th_Q′ is equal to ¼ of the maximum value of the signal S_(Q) var. In this embodiment, the aforementioned operations are carried out on the variance signal under square root (as previously said). Other embodiments are however possible. If both comparisons with the thresholds Th_Q and Th_Q′ comply with a respective predefined condition (in particular, the value of the sample p_(MAX) of the signal S_(Q_var) exceeds the threshold Th_Q and the current value of the signal S_(Q_var) is lower than the threshold Th_Q′), then the touch event is confirmed and one or more functionalities correlated to this touch event (not object of the present disclosure) are activated.

In a further embodiment, additional or alternative to those previously described, the use of the signal resulting from the electrostatic charge sensor 6 may also be used to detect a touch condition that persists over time, for example when the user performs the touch while holding the pressure for a continuous time of a few tenths of a second (e.g., 0.6 seconds). This event, herein identified as a “long touch,” may be used to activate further or different functionalities with respect to those that may be activated with a traditional, typically rapid, touch event.

The long touch event is identified if the signal S_(Q_var) remains above the threshold Th_Q for a time which is longer than a minimum time, predefined during the design step and in any case configurable as needed. It is apparent that the comparison threshold for the long touch may be a further threshold different from the thresholds Th_Q, for example chosen equal to 10000 LSB. FIG. 13 illustrates an example of signal S_(Q_var) that identifies a long touch.

Furthermore, the method of FIG. 10 may also be used to identify a multiple-touch event (e.g., double or triple touch), verifying the presence of a plurality of consecutive touch events in a predefined (and possibly configurable) period of time, similarly to what has been described hereinabove with reference to the method of FIG. 4 .

FIG. 14 schematically illustrates an electronic device 100 which includes the previously described electronic system 1, according to any of the embodiments of the present disclosure.

For example, the electronic device 100 comprises a touch-sensitive surface 102 (detection surface), which is the surface at which the user performs the physical touch gesture. This surface is, for example, of plastic material, with a thickness of approximately 1 mm. The electronic system 1 is placed below the surface 102, for example accommodated in an own package.

In order to optimize the generation of both signals S_(Q) and S_(acc), it is preferable, but not necessary, that the relative arrangement between the surface 102 and the electronic system 1 meets one or more of the following parameters:

-   -   the sensors for detecting the acceleration and the charge         variation are arranged as proximate as possible to the area         identified as the touch surface; and     -   the sensors for detecting the acceleration and the charge         variation are placed proximate to each other, to optimize the         correlation of the respective signals.

The disclosure may be effectively implemented in all those devices wherein a mechanical contact cannot be present, or for impermeability, immunity to dust or mechanical strength requirements. Some examples: smartphones, smartwatches, True Wireless Stereos (TWS), headsets, appliances, industrial equipment, etc.

The advantages achieved by the present disclosure are apparent from the previous description.

In particular, the use of an accelerometer and, in the respective embodiment, of an electrostatic charge sensor allow the consumptions to be significantly reduced with respect to solutions that provide a sensor with a panel of “touch-screen” type.

Furthermore, the solution described with reference to FIG. 4 (detection of the stationarity before and/or after the detection of the first and second peaks) allows false positives to be significantly reduced. The solution that provides the use of the electrostatic charge sensor further improves the performances of rejections of false positives with respect to the solution with accelerometer only.

Furthermore, the use of the electrostatic charge sensor expands the range of gestures that the user may use to give commands to the system 100 (e.g., the long touch).

Variations and modifications may be applied to the present disclosure, without departing from the scope identified by the claims.

For example, respective operations of filtering (for example using low-pass or high-pass filters) the signals S_(acc) and S_(Q) may be provided. In particular, the filtering has the function of removing noise or non-significant frequency disturbing components, or low frequency components (e.g., gravity acceleration component or movements attributable to human activity for S_(acc)), from the signals S_(acc) and S_(Q).

Furthermore, the processing of the signals of the accelerometer 4 and of the electrostatic charge sensor 6 may be implemented entirely in hardware, entirely in software or in mixed hardware/software form, as needed.

A system (1) for detecting a touch gesture of a user on a detection surface (102), the system may be summarized as including a processing unit (2); an accelerometer (4), operatively coupled to the processing unit (2), configured to detect a vibration at said detection surface (102) and generate a corresponding vibration signal (S_(acc_raw)), wherein the processing unit (2) is configured to acquire the vibration signal (S_(acc_raw)), detect, in the vibration signal (S_(acc_raw), S_(acc_filt)), a signal characteristic (p1, p2) which can be correlated to said touch gesture of the user, detect, in the vibration signal (S_(acc_raw), S_(acc_filt)), a stationarity condition preceding and/or following said detected signal characteristic, and validate said touch gesture by the user in the event that both the signal characteristic and the stationary condition preceding and/or following said signal characteristic have been detected.

The operation of detecting said signal characteristic (p1, p2) may include calculating a filtered vibration signal (S_(acc_filt)) by filtering, through a high-pass filter, the vibration signal (S_(acc_raw)); detecting a first peak (p1) of the filtered vibration signal (S_(acc_filt)) exceeding a first threshold (−Th; +Th); and detecting a second peak (p2) of the filtered vibration signal (S_(acc_filt)) exceeding a second threshold (+Th; −Th), wherein the first threshold may be one of a positive threshold and a negative threshold, and the second threshold may be the other of said positive threshold and said negative threshold.

The processing unit (2) may be further configured to sample the vibration signal (S_(acc_raw)), and the operation of calculating the filtered vibration signal (S_(acc_filt)) may be carried out using a digital filter, said operation of detecting the first peak may include detecting a first sample (p1) of the filtered vibration signal (S_(acc_filt)) which exceeds the first threshold; detecting a second sample (p1′) of the filtered vibration signal (S_(acc_filt)) immediately preceding the first sample (p1) and having a value, in modulus, which may be lower than the value, in modulus, of the first sample (p1); and detecting a third sample (p1″) of the filtered vibration signal (S_(acc_filt)) immediately following the first sample (p1) and having a value, in modulus, which may be lower than the value, in modulus, of the first sample (p1), said first peak corresponding to the first sample (p1).

Said operation of detecting the second peak (p2) may include detecting a fourth sample (p2) of the filtered vibration signal (S_(acc_filt)) which exceeds the second threshold; detecting a fifth sample (p2′) of the filtered vibration signal (S_(acc_filt)) immediately preceding the fourth sample (p2) and having a value, in modulus, which may be lower than the value, in modulus, of the fourth sample (p2); and detecting a sixth sample (p2″) of the filtered vibration signal (S_(acc_filt)) immediately following the fourth sample (p2) and having a value, in modulus, which may be lower than the value, in modulus, of the fourth sample (p2), said second peak corresponding to the fourth sample (p2).

The operation of detecting said signal characteristic (p1, p2) may further include verifying that the first peak (p1) and the second peak (p2) may be at a mutual distance, in terms of number of samples included between the first peak (p1) and the second peak (p2), which may be lower than a maximum value of number of samples.

The operation of detecting, in the vibration signal (S_(acc_raw), S_(acc_filt)), a stationarity condition preceding said signal characteristic (p1, p2) may include after detecting the first peak (p1), verifying that the values of a first plurality of samples (p_pre) of the filtered vibration signal (S_(acc_filt)) preceding the first peak (p1) may be included in a first range of reference values (±Th′).

The operation of detecting, in the vibration signal (S_(acc_raw), S_(acc_filt)), a stationarity condition following said signal characteristic (p1, p2) may include after detecting the second peak (p2), verifying that the values of a second plurality of samples (p_post) of the filtered vibration signal (S_(acc_filt)) following the second peak (p2) may be included in a second range of reference values (±Th″).

The operation of detecting, in the vibration signal (S_(acc_raw), S_(acc_filt)), a stationarity condition following said signal characteristic (p1, p2) may further include discarding a third plurality of samples (p_excl) of the filtered vibration signal (S_(acc_filt)) immediately following the second peak (p2) and may be included between the second peak (p2) and said second plurality of samples of the filtered vibration signal (S_(acc_filt)).

The system may further include an electrostatic charge variation sensor (6), operatively coupled to the processing unit (2), configured to detect an electrostatic charge variation at said detection surface and, as a result, generate a charge variation signal (S_(Q)).

The processing unit (2) may be further configured to generate a variance signal (S_(Q_var)) by calculating the variance of the charge variation signal (S_(Q)).

The processing unit (2) may be further configured to detect a maximum point (p_(MAX)) of the variance signal (S_(Q_var)) when said signal characteristic which can be correlated to said touch gesture of the user may be detected in the vibration signal (S_(acc_raw), S_(acc_filt)).

The processing unit (2) may be further configured to verify whether the maximum point (p_(MAX)) of the variance signal (S_(Q_var)) may be in a predefined relationship with a third threshold, and in the event that both the signal characteristic and the stationarity condition preceding and/or following said signal characteristic have been detected, validate said touch gesture only if the maximum point (p_(MAX)) of the variance signal (S_(Q_var)) meets said predefined relationship with the third threshold.

The processing unit (2) may be further configured to in the event that both the signal characteristic and the stationarity condition preceding and/or following said signal characteristic have been detected, and if the maximum point (p_(MAX)) of the variance signal (S_(Q_var)) meets said predefined relationship with the third threshold, verify whether the variance signal (S_(Q_var)) may be in a stationarity condition and validate said touch gesture only if the variance signal (S_(Q_var)) meets said stationarity condition.

The stationarity condition of the variance signal (S_(Q_var)) may be met if at least one current sample of the variance signal (S_(Q_var)) has a value included within a range of stationarity reference values.

The system may further include the step of detecting a touch event that persists over time if the variance signal (S_(Q_var)) remains above a fourth threshold for a time which may be longer than a predefined touch time.

An electronic device (100) may be summarized as including a detection surface (102) of a touch gesture by a user; and a system (1) for detecting a touch gesture according to any of claims 1-15.

A method for detecting a touch gesture of a user on a detection surface (102), using a system (1) that may be summarized as including a processing unit (2); and an accelerometer (4), operatively coupled to the processing unit (2), configured to detect a vibration at said detection surface (102) and generate a corresponding vibration signal (S_(acc_raw)), the method including the steps, carried out by the processing unit (2), of acquiring the vibration signal (S_(acc_raw)), detecting, in the vibration signal (S_(acc_raw), S_(acc_filt)), a signal characteristic (p1, p2) which can be correlated to said touch gesture of the user, detecting, in the vibration signal (S_(acc_raw), S_(acc_filt)), a stationarity condition preceding and/or following said detected signal characteristic, and validate said touch gesture by the user in the event that both the signal characteristic and the stationary condition preceding and/or following said signal characteristic have been detected.

Said system (1) may further include an electrostatic charge variation sensor (6), operatively coupled to the processing unit (2), the method may further include the steps of detecting, through the electrostatic charge variation sensor (6), an electrostatic charge variation at said detection surface and generating as a result, through the electrostatic charge variation sensor (6), a charge variation signal (S_(Q)).

The various embodiments described above can be combined to provide further embodiments. Aspects of the embodiments can be modified, if necessary to employ concepts of the various embodiments to provide yet further embodiments.

These and other changes can be made to the embodiments in light of the above-detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure. 

The invention claimed is:
 1. A system, comprising: an accelerometer, configured to detect a touch gesture vibration at a detection surface and generate a vibration signal in response to the touch gesture vibration; and a processing unit, coupled to the accelerometer, the processing unit configured to: detect a signal characteristic of the touch gesture vibration; detect a stationarity condition adjacent to the signal characteristic in a time sequence; and validate a touch gesture in response to the signal characteristic and the stationary condition.
 2. The system of claim 1 wherein the processing unit is configured to: acquire the vibration signal; detect, in the vibration signal, the signal characteristic correlated to the touch gesture; and detect, in the vibration signal, the stationarity condition adjacent to the signal characteristic in the time sequence.
 3. The system according to claim 2, wherein the processing unit is configured to: calculate a filtered vibration signal with a high-pass filter and the vibration signal; detect a first peak of the filtered vibration signal exceeding a first threshold; and detect a second peak of the filtered vibration signal exceeding a second threshold.
 4. The system according to claim 3, wherein the high-pass filter is a digital filter and the processing unit is configured to: detect a first sample of the filtered vibration signal which exceeds the first threshold; detect a second sample of the filtered vibration signal immediately preceding the first sample and having a value in modulus lower than the value in modulus of the first sample; and detect a third sample of the filtered vibration signal immediately following the first sample and having a value in modulus lower than the value in modulus of the first sample, the first peak corresponds to the first sample.
 5. A method, comprising: detecting a touch gesture of a user on a detection surface; generating a vibration signal in response to a vibration at the detection surface with an accelerometer; detecting a signal characteristic with a processing unit, the signal characteristic corresponding to the touch gesture; detecting a stationarity condition with the processing unit, the stationary condition being adjacent to the signal characteristic in a time sequence; and validating the touch gesture in response to the signal characteristic and the stationary condition.
 6. The method of claim 5, comprising detecting, by an electrostatic charge variation sensor operatively coupled to the processing unit, an electrostatic charge variation at said detection surface.
 7. The method of claim 6, comprising generating as a result of the detecting of the electrostatic charge variation, by the electrostatic charge variation sensor, a charge variation signal.
 8. A method, comprising: detecting a touch gesture on a detection surface by: generating a vibration signal with an accelerometer; detecting a signal characteristic from the vibration signal with a processing unit, the signal characteristic being related to the touch gesture, the detecting of the signal characteristic including: generating a filtered vibration signal from the vibration signal; detecting a first peak of the filtered vibration signal exceeding a first threshold; and detecting a second peak of the filtered vibration signal exceeding a second threshold.
 9. The method of claim 8, comprising: detecting a first sample of the filtered vibration signal which exceeds the first threshold; and detecting a second sample of the filtered vibration signal immediately preceding the first sample and having a value in modulus lower than the value in modulus of the first sample.
 10. The method of claim 9, comprising detecting a third sample of the filtered vibration signal immediately following the first sample and having a value in modulus lower than the value in modulus of the first sample, the first peak corresponds to the first sample.
 11. The method of claim 10, comprising: detecting a fourth sample of the filtered vibration signal which exceeds the second threshold; and detecting a fifth sample of the filtered vibration signal immediately preceding the fourth sample and having a value in modulus lower than the value in modulus of the fourth sample.
 12. The method of claim 11, comprising detecting a sixth sample of the filtered vibration signal immediately following the fourth sample and having a value in modulus lower than the value in modulus of the fourth sample, the second peak corresponds to the fourth sample.
 13. The method of claim 12, comprising verifying that the first peak and the second peak are at a mutual distance, in terms of number of samples between the first peak and the second peak, which is lower than a maximum value of number of samples.
 14. The method of claim 13, comprising after detecting the first peak, verifying that values of a first plurality of samples of the filtered vibration signal preceding the first peak are in a first range of reference values.
 15. The method of claim 14, comprising after detecting the second peak, verifying that values of a second plurality of samples of the filtered vibration signal following the second peak are in a second range of reference values.
 16. The method of claim 15, comprising discarding a third plurality of samples of the filtered vibration signal immediately following the second peak and between the second peak and said second plurality of samples of the filtered vibration signal.
 17. The method of claim 16, comprising verifying whether a maximum point of a variance signal meets a relationship with a third threshold, and in response to detecting both the signal characteristic and a stationarity condition adjacent to the signal characteristic, validating the touch gesture only if the maximum point of the variance signal meets the relationship with the third threshold.
 18. The method of claim 17, comprising detecting a touch event that persists over time in response to the variance signal remains above a fourth threshold for a time which is longer than a predefined touch time. 